// 二次封装axios
import axios from 'axios'
// 实例化一个axios对象 
 let service = axios.create({
    baseURL:'/api',
    // process.env.REACT_APP_BASE_URL
    timeout:10000
})
// 设置请求拦截器
service.interceptors.request.use((config)=>{
    // 设置请求头


    return config
},(error)=>{
    return Promise.reject(error)
})
// 设置请求响应器
service.interceptors.response.use((res)=>{
    return res
},(error)=>{
    // 处理错误响应状态码
    console.log("error", error)
    switch (error.response.status) {
        case 302: alert('接口重定向了！'); break;
        case 400: alert('参数不正确！'); break;
        case 401: alert('您未登录，或者登录已经超时，请先登录！'); break;
        case 403: alert('您没有权限操作！'); break;
        case 404: alert('请求地址出错'); break; // 在正确域名下
        case 408: alert('请求超时！'); break;
        case 409: alert('系统已存在相同数据！'); break;
        case 500: alert('服务器内部错误！'); break;
        case 501: alert('服务未实现！'); break;
        case 502: alert('网关错误！'); break;
        case 503: alert('服务不可用！'); break;
        case 504: alert('服务暂时无法访问，请稍后再试！'); break;
        case 505: alert('HTTP版本不受支持！'); break;
        default: alert('异常问题，请联系管理员！'); break
    }
    // 对响应错误做点什么
    return Promise.reject(error);
})

export default service